home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-11-21 | 1.6 KB | 85 lines | [TEXT/R*ch] |
- #!/bin/sh
- # $Id: ps2epsi,v 1.1 2000/03/09 08:40:40 lpd Exp $
-
- tmpfile=/tmp/ps2epsi$$
-
- export outfile
-
- if [ $# -lt 1 -o $# -gt 2 ]; then
- echo "Usage: `basename $0` file.ps [file.epsi]" 1>&2
- exit 1
- fi
-
- infile=$1;
-
- if [ $# -eq 1 ]
- then
- case "${infile}" in
- *.ps) base=`basename ${infile} .ps` ;;
- *.cps) base=`basename ${infile} .cps` ;;
- *.eps) base=`basename ${infile} .eps` ;;
- *.epsf) base=`basename ${infile} .epsf` ;;
- *) base=`basename ${infile}` ;;
- esac
- outfile=${base}.epsi
- else
- outfile=$2
- fi
-
- ls -l ${infile} |
- awk 'F==1 {
- cd="%%CreationDate: " $6 " " $7 " " $8;
- t="%%Title: " $9;
- f="%%For:" U " " $3;
- c="%%Creator: Ghostscript ps2epsi from " $9;
- next;
- }
- /^%!/ {next;}
- /^%%Title:/ {t=$0; next;}
- /^%%Creator:/ {c=$0; next;}
- /^%%CreationDate:/ {cd=$0; next;}
- /^%%For:/ {f=$0; next;}
- !/^%/ {
- print "/ps2edict 30 dict def";
- print "ps2edict begin";
- print "/epsititle (" t "\\n) def";
- print "/epsicreator (" c "\\n) def";
- print "/epsicrdt (" cd "\\n) def";
- print "/epsifor (" f "\\n) def";
- print "end";
- exit(0);
- }
- ' U="$USERNAME$LOGNAME" F=1 - F=2 ${infile} >$tmpfile
-
- gs -q -dNOPAUSE -r72 -sDEVICE=bit -sOutputFile=/dev/null $tmpfile ps2epsi.ps $tmpfile <${infile} 1>&2
- rm -f $tmpfile
-
- (
- cat << BEGINEPS
- save
- countdictstack
- mark
- newpath
- /showpage {} def
- /setpagedevice {pop} def
- %%EndProlog
- %%Page 1 1
- BEGINEPS
-
- cat ${infile} |
- tr -d '\015' |
- sed -e '/^%%BeginPreview:/,/%%EndPreview$/d' -e '/^%!PS-Adobe/d'\
- -e '/^%%[A-Za-z][A-Za-z]*$/d' -e '/^%%[A-Za-z][A-Za-z]*: /d'
-
- cat << ENDEPS
- %%Trailer
- cleartomark
- countdictstack exch sub { end } repeat
- restore
- %%EOF
- ENDEPS
-
- ) >> ${outfile}
-
- exit 0
-